Remote monitoring and control of systems and processes have taken many forms. Communication between a control system and a remote location by modems have made it possible to access the control system from different locations for downloading and uploading files. These files could be simply data files or libraries, but they also could be executable files used for controlling the control system. Various methods have been developed to provide a method to insure that the received file has not been corrupted during the transferring of the files. These methods can range from the very simple parity bit checking to the more complex check sum methods, such as Cyclic Redundancy Check (CRC). The most common technique is to have a specific file type defined to have a header having a CRC or checksum record. Most headers however, do not contain any information about the file itself. In a rapidly changing environment, operating programs are continuously being improved. Numbers or letters are used to identify a particular file or program version. When a particular file is loaded into the control system, it is extremely important to be able to identify its version number to verify that it is compatible with the existing files. Incompatibility could result in operational failures of the control system.
Further problems could occur in the control system itself after the files have been downloaded or installed. If the files are embedded in the controller in a hardware random access memory (RAM) or stored on a hard disk, potential errors may occur due to file or memory corruption, or unintended changes in user files. These problems could occur during runtime or during standby.
It would be desirable to develop an automation control system whereby these and other associated problems are detected, providing a high degree of security to an end user and allow for the use of general, commercial networks such as the Internet in place of specialized industrial networks to transport data files, libraries, and executable files to automation control systems and other devices.